private ["_vehicle","_unit","_allowed_driver","_debug"];
_vehicle = _this select 0;
_unit = _this select 1;
_debug = debug_mso;

if (_unit == driver (_vehicle)) then {
	_unit action ["engineOff", _vehicle];
	_vehicle engineOn false;
};

[_vehicle] spawn {
	sleep 15; [0, _this, {if(local (_this select 0)) then {if (isnull (driver (_this select 0)) && isEngineOn(_this select 0)) then { (_this select 0) engineOn false; _fuel = fuel (_this select 0); (_this select 0) setFuel 0; sleep 1; (_this select 0) setFuel _fuel; };};}] call mso_core_fnc_ExMP;
};
_unit action ["eject",_vehicle];
_unit action ["getOut",_vehicle];
_allowed_driver = localize "STR_TEAMMEMBER";
if (_vehicle isKindOf "Air") then {_allowed_driver = localize "STR_TEAMPILOT"};
[2, [_unit, _allowed_driver], {if(local (_this select 0)) then { if(vehicle (_this select 0) == (_this select 0)) then { (_this select 0) leaveVehicle (vehicle (_this select 0)); }; hint format[localize "STR_VEHICLE_CHECK_MEMBER_FAIL",_this select 1];};}] call mso_core_fnc_ExMP;
if (_debug) then { diag_log format["MSO.%1|MPRIGHTS|EjectCrew|%2|%3",time,_unit,_vehicle]; };